#导入socket库
import socket

#创建socket
#socket.AF_INET表示IPv4协议（socket.AF_INET6表示IPv4）
#socket.SOCK_STREAM表示TCP协议
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

#绑定IP和端口，bind()参数为tuple, tuple第一个元素为IP，第二个为端口
s.bind(("127.0.0.1", 9999))

#监听
s.listen(1)
print("waiting for connection...")

while True:
	#接受一个连接，使用accept()，貌似返回一个tuple, 第一个元素为客户端socket
	#第二个貌似是一个tuple，包含客户端IP和端口
	sock, addr = s.accept()
	print("Accept a new connection from %s : %s ..." % addr)
	#为当前sock指向的客户端发送消息, 使用send, 参数为byte
	sock.send(b"Welcome!")
	
	while True:
		data = sock.recv(1024)
		if not data or data.decode("utf-8") == 'exit':
			break
		print("%s : %s \n" % addr, data.decode("utf-8"))			
		msg = input("127.0.0.1 : 9999 \n ");
		sock.send(msg.encode("utf-8"))
	
	sock.close()
	print("Connection from %s : %s closed. " % addr)
	
	
	